/*
 * AnalisadorJogadas.h
 * Created on: 28/10/2011
 * Author: Catharine
 */

#include "model/Mao.h"

#ifndef ANALISADORJOGADAS_H_
#define ANALISADORJOGADAS_H_

#define maximoCartas 7

class AnalisadorJogadas {
public:
	AnalisadorJogadas();
	virtual ~AnalisadorJogadas();

	bool TemPar();
	bool TemDoisPares();
	bool TemTrinca();
	bool TemStraight();
	bool TemFlush();
	bool TemFullHouse();
	bool TemQuadra();
	bool TemStraightFlush();
	bool TemRoyalStraightFlush();
	void Construct(Mao* maoJog, Mao* maoMesa);

protected:
	Mao* maoJog, * maoMesa;
	Carta* cartas[maximoCartas];
	int numCartas;

private:
	int NumeroCartasIguais();
	int NumeroCartasComNumero(int numero);
	int NumeroCartasComNaipe(int naipe);
	int NumeroCartasMesmoNaipe();
	bool TemCartaComNumero(int numero);
	bool TemCarta(int numero, int naipe);
	void JuntasTodasAsCartas();
	void OrdenaCartas();
};

#endif /* ANALISADORJOGADAS_H_ */
